package com.作业.Day13;

import com.作业.Day4.Customer;

import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

/**
 * 使用 HashSet 与 HashMap 存储数据,
 * 并多种方式迭代出来。
 */
public class Homework1 {
    public static void main(String[] args) {
        /**
         * Hashmap 存入数据
         * 通过迭代器迭代出来
         * 1.强化for循环
         * 2.普通迭代器
         */
        HashSet<Object> hashSet = new HashSet<>();
         hashSet.add("java");
         hashSet.add("小妹");
         hashSet.add(new Customer(100,"金卡"));
        /**
         * 第一种
         */
        for (Object o : hashSet) {
            System.out.println( o);
        }
        /**
         * 第二种
         */
        Iterator<Object> objectIterator = hashSet.iterator();
        while (objectIterator.hasNext()) {
            Object next =  objectIterator.next();
             System.out.println(next);
        }

        /**
         * Hashmap存储
         *
         */
        HashMap hashMap = new HashMap();
        hashMap.put(1,"java");
        hashMap.put(2,new  Customer(100,"金卡"));
        hashMap.put(3,1);
        hashMap.put(4,1);
        /**
         * 遍历
         * 1.forEach
         * 2.entrySet
         * 3.获取它的key,放到hashset里面去，然后用迭代器遍历set,同个获取到value
         */
        System.out.println("第一种");
        hashMap.forEach((k,v)-> System.out.println(k+"--"+v));
        System.out.println("第二种");
        //        hashMap.entrySet().forEach(entry -> {
//            System.out.println(entry);
//        });相当于下面这个种
        hashMap.entrySet().forEach(System.out::println);

        System.out.println("第三种");
        Set set = hashMap.keySet();
        Iterator<Object> iterator = set.iterator();
        while (iterator.hasNext()) {
            Object next =  iterator.next();
            Object o = hashMap.get(next);
            System.out.println(next+"--"+o);
        }
    }
}
